<A NAME="intro"><H4>Not another "desktop tracker" program!?</H4></A>
Yes... !Amp is another music player. BUT, it's based on the PC program <A HREF="http://www.winamp.com">WinAmp</A>. This means that you can use the hundreds of PC skins available to totally change the look. It has a compact layout, and can fold up into it's titlebar for when you're really short of desktop space!
In theory, you should be able to use any of the thousands of <A HREF="http://www.winamp.com/skins">PC skins</A> available,
but in practice, not all work 100%. In most cases, this simply because ChangeFSI
can't understand the BMP. The solution in this case is simply to find a program
which does (you might have to resort to a PC) and reconvert the file to a proper
BMP (or in fact any other format understood by ChangeFSI).
<p>
It is possible though that this is not the only reason, and if you feel that
this is the case (eg you can load the offending BMP in ChangeFSI manually), then
<A HREF="mailto:koshea@indigo.ie">email me</A> and let me know about it. I
might ask you to send the skin so that I can investigate.
<p>
Anyhow, to install a skin, simply click 'Skin...' from the Amp menu, and then close the skin browser window with Adjust, or hold down SHIFT and double-click !Amp to open the application directory, then double-click on the 'Skins' directory.
Now make a directory for the skin. This is the name the skin will have in the browser window. Put all the relevant BMPs and textfiles from the skin inside the new directory. (You can remove any DLL files, since these are x86 code.)
<P>
WARNING: Don't delete anything from the Original directory, since if a skin is broken or has bits missing, Amp will resort to this to replace bits.
<p>
Even if Amp is already running, the skin will be picked up next time you open the skin browser. Choose it and it will be converted to a spritefile called Skin inside in the same directory. Depending on your machine, either 256 or 16 million colours will be used. You can force one or the other by editing the application's !Run file. If you want to save space, you can delete the original BMPs, but I'd advise you to keep them just in case you want to swap between 256/16M colours later. They are also needed if you ever flush the browser preview file.
<P>
You can even use !Squash to compress the sprite file if you like! It'll be
automatically unsquashed into RAM when you use it. If you have the 'Squash' app
in your path (e.g. in Boot:Library, or you have run !Squash) then the skins will
be automatically squashed just after being converted by ChangeFSI.
<P>
<HR>
<A NAME="plugins"><H4>Plug-ins</H4></A>
Amp works by using plug-ins to play everything. This means that it's easy to add another plug-in to play a new type of tracker, and if you can program yourself, you can easily write one without hacking about with the main program.
<p>
The current plug-ins are as follows (in various stages of completion):
<IMG ALT="" SRC="images/dot2.gif" WIDTH=12 HEIGHT=12> No channel info
</DIR>
</DIR>
<P>
<HR>
<A NAME="playlist"><H4>Playlists</H4></A>
Amp also supports playlists. These are basically text files which contain your favourite lists of tunes in whatever order you choose. You can easily edit the text file. Don't mess it up though - the program doesn't really like mangled lists!
<p>
You can currently drag a music file to the playlist window to add it, and double-click on an entry in the window to play it.
<P>
Drag a previously saved playlist to any Amp window (or the iconbar) and it'll try to load it as a playlist. If you save your playlist as !Amp.PlayList or Choices:Amp.PlayList then it will automatically be loaded every time.
<P>
<HR>
<A NAME="notes"><H4>Notes:</H4></A>
You can quit the program without stopping the music. This means that Amp is still using memory after you quit it. If you are using dynamic areas, this is fine, since the area will be reused when you next load Amp and if you quit stopping the music, it will be removed then. However, if you are stuck with using the module area, it will leave a chunk (possibly quite large, depending on the song/plugin playing it) which you can never reclaim without resetting the machine. You have been warned!
<p>
<HR>
<A NAME="history"><H4>History:</H4></A>
<TABLE BORDER=0>
<TR>
<TD VALIGN=TOP>v2.00</TD>
<TD>14th May 2000<HR>
Totally re-written in C.<BR>
Now shows song time in the playlist window.<BR>
You can choose between time elapsed and time remaining.<BR>
It is now possible to reorder tracks in the playlist.<BR>
Windock between windows now works.<BR>
The dock distance is now adjustable.<BR>
The skin browser is improved.<BR>
Plugin change improved.<BR>
The control buttons in the playlist window work.<BR>
Scrollbar on playlist is better (doesn't get lost anymore).<BR>
Less memory usage/faster startup.<BR>
Fixed CTRL+0 which appeared in the options file.<BR>
No more spaces in saved playlist files.<BR>
Added "seek to" display.<BR>
Now uses MessageTrans for all text strings.<BR>
Finally stores playlist position/size and whether it was open or not.<BR>
You can now batch convert skins.<BR>
Added a command line tool for converting skins.<BR>
Now has plugin configuration protocol (currently only cd plugin uses it).<BR>
Masks out non-used wimp messages (should use less polls).<BR>
Uses separate balance sprites if available (flush any skins which have balance/nums_ex/font bmp files).</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.13</TD>
<TD>26th September 1999<HR>
Now works on new RO4 format discs.<BR>
Uses Rick Hudson's PlayIt module for sample playing instead of ESP's SamplePlayer.</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.12</TD>
<TD>15th August 1999<HR>
Now you can add your own entries to the CDDB database.<BR>
Fixed address exception with shuffle mode on an empty playlist.<BR>
Shuffle no longer always plays the first song first.<BR>
No longer chops the end of small mpegs. May also fix an address exception which sometimes occured with a playlist of mpegs.</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.11</TD>
<TD>15th June 1999<HR>
Play with no active song now starts playlist.<BR>
Shuffle should now not repeat songs until they're all played.<BR>
Back now plays previous song played, even in shuffle mode.<BR>
Fixed shuffle related redraw bugs in playlist window.</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.10</TD>
<TD>16th May 1999<HR>
Amp now uses lots less CPU time (with !TaskUsage anyway).<BR>
Fixed an ADRL I missed last time.<BR>
Fixed the address exception when selecting all with an empty playlist.<BR>
Playlist window bugfixes for sonicated2 skin.<BR>
Mouse click offset in playlist window fixed.<BR>
No longer crashes with skins which are too big.<BR>
Removed position bar trail from skins like "Fusion".<BR>
Balance slider now 'sticks' to the centre.</TD>
</TR>
<TD VALIGN=TOP>v1.09</TD>
<TD>19th April 1999<HR>
Fixed some always-on-top bugs.<BR>
Removed dependency on Darren Salt's BASIC assembler extender.<BR>
Amp now loads when you've no CDROM drives configured.<BR>
Hopefully fixed the get-rectangle bug when you try to stop an MP3.<BR>
Newer version of DSymPlay added.</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.08</TD>
<TD>5th April 1999<HR>
Fixed numbering of playlist entries > 255.<BR>
Scrollbar in playlist shouldn't vanish anymore.<BR>
Last song in playlist is no longer half obscured.<BR>
Better window dragging.<BR>
Added Oscilliscope code for 256 colour modes.<BR>
Much reduced (halved) wimpslot at slight expense of loading time.<BR>
MP3 plugin now accepts underscore as an extension specifier (for CDs).<BR>
Playlist entries resized to fit letters with descenders properly.<BR>
You can now drag on a directory to queue all the files therein (recursively!).<BR>
Added AMPlayer MP3 plugin.<BR>
Much reduced idle CPU usage.<BR>
The 'Select All' button in the playlist window now works.</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.07</TD>
<TD>14th March 1999<HR>
Finally figured out why the playlist kept stopping. Should be fixed now.<BR>
Fixed the "untickable" vis menu option.<BR>
Added some error checking to prevent the dmpa plugin from crashing.<BR>
Playlist can now have more than 76 entries (oops!)<BR>
Added the options window to the clutterbar.</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.06</TD>
<TD>28th February 1999<HR>
More human friendly config file format.<BR>
Lots more ARM code. Though this currently means the program takes longer to load, it will eventually result in a smaller Wimp slot.<BR>
Fixed minibar sprite (was missing one pixel row) - flush your skins.<BR>
Fixed skins which replace the playlist.<BR>
Finally, a config window added.<BR>
Font in playlist window now reads colours and font from skin file.<BR>
Playlist entries now have numbers.<BR>
No more exceptions when you try to delete entries from an empty playlist.<BR>
Added some hotkeys for the playlist window (^X, cursor up and down).<BR>
Hopefully more reliable playlist (shouldn't fail to play next song anymore).<BR>
Fixed "Input focus window not found" error.<BR>
Updated TimPlayer module.</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.05</TD>
<TD>5th February 1999<HR>
Fixed a 'Handle is either illegal or has been closed' error message.<BR>
Fixed problems reloading after a skin flush when original skin not selected.<BR>
Freezing bug when mini-window selected after doublesize toggle fixed.<BR>
Memory problem with 256 colour sprites fixed.<BR>
You can now delete files from the playlist! (No hotkeys yet though)<BR>
Playlist font changed to be more WinAmp like.</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.04</TD>
<TD>31st January 1999<HR>
Fixed song name disappearing bug.<BR>
Added support for both S3M filetypes.<BR>
Oops, really fixed so that truncated skin filenames work on long filename filesystems.<BR>
Changed method of unpausing CD so it works with more setups.<BR>
Added resizing playlist window with scrollbar (still a bit dodgy).<BR>
Added TimPlayer for ImpulseTracker mods.</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.03</TD>
<TD>11th January 1999<HR>
A bit of an overhaul - now lots more ARM code, including the player plugin subsystem.<BR>
Fixed dmpa's wimpslot.<BR>
Fixed menu clicks in the skin browser window.<BR>
Added XprMod plugin.<BR>
MP3s now die properly if you start a new one, even when just about to stop itself.<BR>
Fixed RMA code for skin preview window.<BR>
Skins can now be deleted from the preview window.<BR>
Fixed so that truncated skin filenames work on long filename filesystems.<BR>
Improved CD plugin.<BR>
Reduce idle CPU usage.<BR>
Improved the playlist window look.<BR>
Added shuffle (sort of).</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.02</TD>
<TD>17th November 1998<HR>
New nice skin selection window.<BR>
Added the new (Winamp 2) basic skin.<BR>
You can now load and save playlists properly.<BR>
Allowed for skins in zip files (with SparkFS, etc) again (oops!).<BR>
Fixed the starting of a new MP3 before the old one is finished.<BR>
You can now quit without stopping the music.<BR>
Now reuses left over plugin buffer dynamic areas present when you reload the program.<BR>
Rearranged the internal directory structure a bit.<BR>
Fixed a bug whereby you could create multiple iconbar icons.<BR>
CD plugin now works on more drives and is quicker changing tracks.<BR>
Back and forward buttons now skip tracks on a CD.<BR>
Added balance (only affects CD plugin).<BR>
Removed claim of filetype AE7 (ARMovie) as this was causing problems with ARPlayer.<BR>
Fixed 'Player Module' error from FB1 (WAV plugin).<BR>
Other small tweaks.<BR>
</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.01</TD>
<TD>26th October 1998<HR>
Fixed a problem calling ChangeFSI.<BR>
Fixed "missing digits" problem.<BR>
Overhauled redraw code which fixes various flickering problems, and allows a double size window.<BR>
Clutterbar now works.<BR>
Fixed a small bug in skin conversion. This means old skins won't display properly, sorry!<BR>
CD no longer lists data tracks.<BR>
Added support for squashed skins.<BR>
Added limited ID3 tag support.<BR>
Improved this help file.<BR>
Added a sample player plugin (for 16 bit sound).<BR>
Various other improvements.<BR>
</TD>
</TR>
<TR>
<TD VALIGN=TOP>v1.00</TD>
<TD>11th October 1998<HR>
Playlist not fully working.<BR>
Plug-ins at various stages of development.<BR>
Shuffle not working.<BR>
Not much in the way of documentation.
</TD>
</TR>
</TABLE>
<P>
<HR>
<A NAME="thanksto"><H4>Thanks to:</H4></A><DIR>
<IMG ALT="" SRC="images/dot.gif" WIDTH=12 HEIGHT=12> Robert O'Sullivan, for his help, ideas (including the idea to write it in the first place!) and testing.<BR>
<IMG ALT="" SRC="images/dot.gif" WIDTH=12 HEIGHT=12> Bernhard Ludewig for permission to use his sprites.<BR>
<IMG ALT="" SRC="images/dot.gif" WIDTH=12 HEIGHT=12> James Reynolds for writing <A HREF="http://www.argonet.co.uk/users/j-rays/">!Spectrum.</A><BR>
<IMG ALT="" SRC="images/dot.gif" WIDTH=12 HEIGHT=12> Mike Gregory, Francis Chin, Robert Purchase, Laurent Domisse and all the other beta testers for their testing, encouragement and feedback.<BR>
<IMG ALT="" SRC="images/dot.gif" WIDTH=12 HEIGHT=12> Darren Salt for writing ExtBasAsm.